1. Field of the Invention
The present invention relates to a computer system (hereinafter, referred to as “DB system”) for using a database (hereinafter, referred to as “DB”).
2. Description of the Related Art
Currently there are a large number of applications constructed based on a database, thereby causing a database management system (hereinafter, referred to as “DBMS”) for performing a series of processes and management related to the DB to be very important. One of DB characteristics is to handle immense volumes of data. Therefore, a storage device with a large disk is connected to a computer in which the DBMS operates to store DB data into the storage device in a large number of general environments of the DBMS operating in the DB system.
There is a method of providing a storage device with a cache memory, which is a volatile storage medium, as a method of accelerating data input or output processing to or from the storage device for use in the DB system or the like. In this method, the storage device temporarily stores the data, which is input or output to or from the storage device, in the cache memory. In general, a volatile cache memory makes a response more rapidly than a disk unit. Therefore, by storing data read from the disk unit in the cache memory previously so as to use the data in the cache memory at an access to the same data, the storage device is improved in the speed of response.
There is also a technique of predicting data read in the future and reading the predicted data onto the cache memory (hereinafter, also referred to as “prefetch”) on the basis of a series of continuous data accesses (hereinafter, also referred to as “sequential access”) detected by a storage device (or a computer).
In a paper entitled “Evaluation of Prefetching Mechanism Using Access Plan on Intelligent Disk” (by Mukai et al., the 11th Data Engineering Workshop (DEWS2000), Lecture No. 3B-3 of Proceedings, CD-ROM issued on July, 2000; Sponsored by The Institute of Electronics, Information and Communication Engineers (IEICE), Data Engineering Technical Group), there is discussed an improvement of a DBMS performance with sophisticating a storage device by giving an example of a DB managed by a relational database management system (RDBMS). If a query execution plan in the RDBMS is given to a storage device as the application-level knowledge, the storage device, after having read an index for a table in the RDBMS, gets capable of determining which block having data of the table should be accessed. Therefore, total data access time can be reduced by a sequential access to the index from the DBMS to grasp block groups having data of the table corresponding to the index by means of a computer executing the DBMS and effectively scheduling accesses to them.
In addition, this process is executed independently of a computer in which the DBMS is executed, by which there is no need to await an instruction from the computer. Furthermore, if data is distributed and allocated to a plurality of physical storage devices, the storage devices can be accessed in parallel and therefore a further reduction is expected in the DBMS process execution time.
JP-A-2003-150419 discloses a technology in which a storage device storing data in a database acquires location information of a DB schema and query execution information or the like necessary for a prefetch from the DBMS and executes the prefetch within the storage device in order to accelerate an access to data of the database stored in the storage device.
The use of the cache memory and the data prefetch mentioned in the description of the conventional technologies are specialized in processes within the storage device. Furthermore, the prefetch has an effect on a sequential access, but it does not have much effect on a nonsequential data access.
In the conventional technology described in “Evaluation of Prefetching Mechanism Using Access Plan on Intelligent Disk,” there is a problem of insufficient clarification on what kind of process need be executed and what kind of data should be used after the storage device receives a query execution plan in the RDBMS as an application-level knowledge.
Furthermore, in the technology described in JP-A-2003-150419, the storage device acquires location information of a DB schema and query execution information necessary for the prefetch from the DBMS and executes the prefetch within the storage device. If the technology is implemented, however, it is necessary to improve the inside of the storage device. In addition, if it is applied to an existing DB system, there is a need for replacing an existing storage device with the storage device in which the technology is implemented and for shifting the DB data to the storage device. Therefore, during these operations, it is likely to hinder a routine work. Furthermore, while the storage device (or a computer) needs to perform new prefetch-related processing in addition to the normal data read processing, it may give a heavy load to the storage device and the like and thus it may block the effect of reduction in the access time.